//
//  StatusListViewModel.swift
//  SynWeibo
//
//  Created by 沈艳男 on 15/9/9.
//  Copyright © 2015年 沈艳男. All rights reserved.
//

import UIKit
import ReactiveCocoa

// 该类的作用是：分离网路方法
class StatusListViewModel: NSObject {
    
    // 定义微博模型数组
    var statuses: [AnyObject] = [StatusViewModel]()
    
    // 加载微博数据
   func loadStatuses() -> RACSignal {
    
        return RACSignal.createSignal({ (subscriber) -> RACDisposable! in
            
            NetworlkTools.sharedTools.loadStatUser().subscribeNext({ (result) -> Void in
            
                // 1、获取resylt 中的 statuses 字典数组
                // [String: AnyObject]代表字典在加一个中括号就是数组
                guard let array = result["statuses"] as? [[String: AnyObject]] else {
                    printLog("没有正确的数据")
                    return
                }
                // 2、字典转模型
                // 创建数组
//                if self.statuses == nil {
//                    self.statuses = [StatusViewModel]()
//                }
                
                // 便利数组
                for dict in array {
                    self.statuses.append(StatusViewModel(status: Status (dict: dict)))
                }
//                printLog(self.statuses)
                
                // 3、通知调用方数据加载完成
                subscriber.sendCompleted()
                
                }, error: { (error) -> Void in
                    subscriber.sendError(error)
                }) {
                    // -----
            }
            return nil
        })

    }
}
